/**
 *
 */
package com.rf.richfitwheel.workflow.service;


import com.rf.richfitwheel.workflow.model.WfProcessTransfer;
import org.activiti.engine.impl.pvm.process.ActivityImpl;
import org.activiti.engine.task.Task;

import java.util.List;

/**
 * 工作流任务相关接口
 * @author hushouquan
 *
 */
public interface WfProcessTransferService {

    void save(WfProcessTransfer wfProcessTransfer);

    List<WfProcessTransfer> getListByProcInstIdOrderByCreateDateAsc(String processInstanceId);

    List<WfProcessTransfer> getListByProcInstIdAndActIdOrderByCreateDateDesc(String processInstanceId, String actId);

    List<WfProcessTransfer> getListByProcInstIdAndTaskIdOrderByCreateDateAsc(String processInstanceId, String taskId);

    List<WfProcessTransfer> getListByProcInstIdAndToActIdOrderByCreateDateDesc(String processInstanceId, String toActId);

    void deleteByProcInstId(String processInstanceId);

    void insetProcessTransfer(Task nowTask, String fromUser, String executionId, String parentExecutionId, String parentParentExecutionId, List<ActivityImpl> activities);
}
